package yanghui_shuffle;

import java.security.PublicKey;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;

public class puke {
    public static ArrayList<ArrayList<String>> swap(ArrayList<ArrayList<String>> h) {
        Random random = new Random();
        for (int i = h.size() - 1; i > 0; i--) {
            int ran = random.nextInt(i);
            ArrayList<String> tmp = new ArrayList<>();
            String tmp1 = h.get(ran).get(0);
            h.get(ran).set(0, h.get(i).get(0));
            h.get(i).set(0, tmp1);
        }
        return h;
    }

    public static ArrayList<ArrayList<String>> flop(ArrayList<ArrayList<String>> h) {
        ArrayList<ArrayList<String>> person = new ArrayList<>(3);
        person.add(new ArrayList<>());
        person.add(new ArrayList<>());
        person.add(new ArrayList<>());
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 3; j++) {
                person.get(j).add(h.remove(0).get(0));
            }
        }
            return person;
    }
        public static void main(String[] args) {
//        String a = String.format("%c  %c", 'A', 'A');
//        System.out.println(a);
//        Random random = new Random();
//        for (int i = 30; i > 0; i--) {
//            System.out.println(random.nextInt(i));
//        }
            ArrayList<ArrayList<String>> h = creat();
            swap(h);

            System.out.println(flop(h));
////            System.out.println(h);
//            System.out.println(h.remove(0).get(0));
//            ArrayList<ArrayList<String>> hh = new ArrayList<>(3);
//            System.out.println(hh.size());
//            System.out.println(hh);
//            System.out.println(h);
//            System.out.println(h.size());
//            System.out.println(h.size());
//        swap(h);
//        ArrayList<ArrayList<String>> poker = new ArrayList<>();
//        char[] type = {'♥', '♠', '♣', '♦'};
//
//
//        for (int j = 0; j < 4; j++) {
//            ArrayList<String> tmp = new ArrayList<>(1);
//            tmp.add(String.format("%c  %c", type[j], 'A'));
//            poker.add(tmp);
//        }
//        System.out.println(poker);
    }
    public static ArrayList<ArrayList<String>> creat() {
        //56
        ArrayList<ArrayList<String>> poker = new ArrayList<>();
        char[] type = {'♥', '♠', '♣', '♦'};
        for (int i = 2; i <= 10; i++) {//2-10
            for (int k = 0;k < 4;k++ ){
                ArrayList<String> tmp = new ArrayList<>();
                tmp.add(String.format("%c  %d", type[k], i));
                poker.add(tmp);
            }
        }
        //A  J  Q  K
        for (int j = 0; j < 4; j++) {
            ArrayList<String> tmp = new ArrayList<>(4);
            tmp.add(String.format("%c  %c", type[j], 'J'));
            poker.add(tmp);
        }for (int j = 0; j < 4; j++) {
            ArrayList<String> tmp = new ArrayList<>(4);
            tmp.add(String.format("%c  %c", type[j], 'Q'));
            poker.add(tmp);
        }for (int j = 0; j < 4; j++) {

            ArrayList<String> tmp = new ArrayList<>(4);
            tmp.add(String.format("%c  %c", type[j], 'K'));
            poker.add(tmp);
        }for (int j = 0; j < 4; j++) {

            ArrayList<String> tmp = new ArrayList<>(4);
            tmp.add(String.format("%c  %c", type[j], 'A'));
            poker.add(tmp);
        }
        {//大小王
            ArrayList<String> tmp = new ArrayList<>();
            tmp.add(String.format("%s%s", " \uD83C\uDF1E ", "JOKER"));
            poker.add(tmp);
            ArrayList<String> tmp1 = new ArrayList<>();
            tmp1.add(String.format("%s %s", "\uD83C\uDF1B", "JOKER"));
            poker.add(tmp1);
        }
        return poker;
    }

}

